package de.fhffm.gärtnerei.gui;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableModel;

import de.fhffm.gärtnerei.tabellenModelle.DuengerTableModel;

public class DuengerTabelle  implements ActionListener {

	private JButton btnOk = new JButton("OK");
	private JButton btnAbbrechen = new JButton("Abbrechen");
	
	private JFrame duengerTabellenFrame = new JFrame();
	
	private JTable table = new JTable();
	
	private JScrollPane scrollPane = new JScrollPane(table);
	
	private JPanel tabellenPanel = new JPanel();
	
	private String ausgewaehlteZeile = null;
	
	private JTextField txtDuenger;

	
	
	public DuengerTabelle(JTextField txtDuenger){
		this.txtDuenger = txtDuenger;
		
		duengerTabellenFrame.setTitle("Duenger");
		duengerTabellenFrame.setSize(800,600);
		duengerTabellenFrame.setLocationRelativeTo(null);
		duengerTabellenFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		duengerTabellenFrame.setResizable(true);
		duengerTabellenFrame.setLayout(new FlowLayout());

		table.setModel(new DuengerTableModel());
		scrollPane.setPreferredSize(new Dimension(600,400));
		tabellenPanel.add(scrollPane);
		duengerTabellenFrame.add(tabellenPanel);
		duengerTabellenFrame.add(btnOk);
		duengerTabellenFrame.add(btnAbbrechen);
		btnOk.addActionListener(this);
		btnAbbrechen.addActionListener(this);
		duengerTabellenFrame.setVisible(true);
		duengerTabellenFrame.pack();
		
		
	}
	
	

	@Override
	public void actionPerformed(ActionEvent e) {
		Object obj = e.getSource();
		
		if(obj == btnOk){
			if(doHohleAusgewaehlteZeile()){
				txtDuenger.setText(ausgewaehlteZeile);
				duengerTabellenFrame.dispose();
			} else {
				System.out.println("Fehler beim hohlen des Duengers");
			}
		}
		
		if(obj == btnAbbrechen){
			duengerTabellenFrame.dispose();
		}
		
	}

	private boolean doHohleAusgewaehlteZeile() {
		
		int ausgwZeile = table.getSelectedRow();
		
		try{
			
		ausgewaehlteZeile = (String) table.getModel().getValueAt(ausgwZeile, 1);
		
		}catch(IllegalArgumentException ia){
			JOptionPane.showMessageDialog(null,"Bitte einen Duenger Auswählen!","Fehler",JOptionPane.ERROR_MESSAGE);
			return false;
			
		}
		
		return true;
		
	}
}

	

